Introduction
1. What is Computer Science about?
Computer Science is about solving computational problems, whether simple (finding the sum of a list of numbers) or very complex (controlling a spacecraft, securing sensitive information). It is not just a study of computers or programming languages, but of how they can be used to solve problems.
2. What are an algorithm and a program?
To make a computer solve a problem, the task is broken into clear, simple steps; these steps form an algorithm. When the steps are written in a programming language such as Python, they form a program, which the computer executes to solve the problem.
3. Explain Dijkstra's quote about computer science.
"Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes." Science is not about tools; it is about how we use them and what we find out when we do. Computers are tools for solving problems.
1.1.1 Evolution of number systems
4. Why were number systems invented?
Humans needed to count and record numbers accurately. Counting with fingers, stones or marks on walls was not enough as activities grew, so different civilisations developed number systems to calculate, trade and understand the world.
5. Summarise the number systems of different civilisations.
| System | Period | Features |
|---|---|---|
| Egyptian | 3000 BC | Decimal (base 10); picture symbols (pictographs) written right to left; symbols for powers of ten |
| Sumerian/Babylonian | 2000 BC | Base 60 (sexagesimal), the largest base; written left to right; a space served as the placeholder for zero |
| Chinese | 1200 BC | Decimal; counting rods and boards used for calculation |
| Greek (Ionian) | 500 BC | Letters of the Greek alphabet used as numbers; non-positional; no zero |
| Roman | 500 BC | Symbols I, V, X, L, C, D, M; non-positional; no zero |
| Mayan | 300 AD | Vigesimal (base 20); a shell-shaped symbol for zero; positional |
| Hindu–Arabic | 5th–6th century AD | Positional decimal system; introduced the symbol 0 (from India); basis of the modern number system |
6. What was India's contribution to number systems?
The Indians introduced the place-value (positional decimal) system and the digit zero, a revolutionary idea that forms the basis of the modern number system used worldwide (the Hindu–Arabic system).
7. Differentiate between positional and non-positional number systems with examples.
In a positional system the value of a digit depends on its place (Mayan, Hindu–Arabic). In a non-positional system the value of a symbol does not depend on its place (Roman, Greek). The Roman and Greek systems also had no zero.
8. Arrange the Roman, Egyptian, Hindu–Arabic, Sumerian/Babylonian and Mayan systems in chronological order of origin. (Activity 2)
Egyptian (3000 BC) → Sumerian/Babylonian (2000 BC) → Roman (500 BC) → Mayan (300 AD) → Hindu–Arabic (5th–6th century AD).
9. Arrange the Egyptian, Mayan and Sumerian/Babylonian systems in order of their base. (Activity 3)
Egyptian (base 10) → Mayan (base 20) → Sumerian/Babylonian (base 60), from smallest to largest base.
1.1.2 Early computing machines
10. Why were calculating tools developed?
Manual computing was slow and prone to errors, so people attempted to develop faster calculating tools. These devices were the first steps towards modern computers.
11. Write about the Abacus.
One of the earliest tools for basic arithmetic, invented by the Mesopotamians around 3000 BC. It is a rectangular frame with rods or wires on which beads are moved to represent numbers. Addition and multiplication were done using the place value of digits and the position of beads. The Chinese further refined it.
12. What are Napier's Bones?
John Napier developed the idea of logarithms in 1617 and devised numbered rods called Napier's Bones to perform multiplication and division. There are 10 bones for the digits 0–9 and a special eleventh bone representing the multiplier. A number can be multiplied by a single digit by placing the rods side by side.
13. Who invented the Pascaline, and what could it do?
Blaise Pascal, a French mathematician, in 1642. It was an adding machine made of gears and toothed wheels with unique position values, capable of addition and subtraction with a carry-transfer feature.
14. What was Leibniz's calculator?
In 1673 the German mathematician Gottfried Wilhelm Leibniz extended Pascal's machine to perform multiplication and division as well. Multiplication was done by repeated addition.
15. Explain Jacquard's loom. Why is it considered a precursor to programmable computers?
In 1801 Joseph Jacquard used punched cards to control looms and make weaving patterns automatic. Different sets of holes represented different designs and can be considered a program. Replacing the cards produced other patterns, and duplicating cards replicated a design in other looms. So it was a programmable machine and a precursor of today's programmable computers.
16. Describe Charles Babbage's Difference Engine and Analytical Engine. Why is he called the "Father of Computers"?
The Difference Engine (1822) calculated various mathematical functions by mechanising a series of calculations on several variables. The Analytical Engine (1833) could perform the four arithmetic operations and comparison and included the concepts of a central processor, memory storage and input-output devices; stored information could even be modified. It was never built at that time but established the basic principles of modern computers, which earned him the title "Father of Computers".
17. Who was Ada Lovelace?
Augusta Ada King, Countess of Lovelace, a British mathematician widely regarded as the first computer programmer. She worked with Babbage on the Analytical Engine and wrote the first algorithm designed for a machine to process. She realised that computers could do more than mathematics: they could create music, art and graphics when properly programmed.
18. Write about Mark I.
Built in 1944 by Prof. Howard Aiken with IBM, Mark I was an electromechanical computer based on Babbage's Analytical Engine. It could multiply two 10-digit numbers in 5 seconds. It was the first operational general-purpose computer that executed preprogrammed instructions automatically without human intervention, bridging mechanical calculators and automatic computers.
19. What is the stored program concept? Who proposed it?
Proposed by Dr. John von Neumann in 1945: the program and data are stored in the same memory unit. This was a major shift from earlier machines where instructions were fixed in hardware wiring or punched cards. All modern computers are based on the stored program concept.
20. Which machines were programmable? (a) Jacquard's loom (b) Pascaline (c) Analytical Engine (d) Leibniz's calculator (Activity 1)
(a) Jacquard's loom and (c) Analytical Engine.
- Jacquard's loom: its behaviour was controlled by punched cards, and changing the cards changed the pattern, i.e. the program.
- Analytical Engine: designed with a central processor, memory and input-output devices, and its stored information could be modified, so it could follow different instructions.
- Pascaline and Leibniz's calculator had fixed operations (add/subtract; multiply/divide) and could not be given a new set of instructions.
21. Match the inventors with their inventions.
| Inventor | Invention (year) |
|---|---|
| John Napier | Napier's Bones (1617) |
| Blaise Pascal | Pascaline (1642) |
| Gottfried Leibniz | Leibniz's calculator (1673) |
| Joseph Jacquard | Punched-card loom (1801) |
| Charles Babbage | Difference Engine (1822), Analytical Engine (1833) |
| Howard Aiken (with IBM) | Mark I (1944) |
| John von Neumann | Stored program concept (1945) |
1.1.3 Generations of computers
22. What defines a generation of computers? Give the generations with technology and dates.
Each generation is defined by a major advancement in hardware or software that significantly improves overall performance. Computers became progressively smaller, faster, more affordable and more reliable.
| Generation | Period | Technology |
|---|---|---|
| First | 1940–1956 | Vacuum tubes |
| Second | 1956–1963 | Transistors |
| Third | 1964–1971 | Integrated circuits (ICs) |
| Fourth | 1971–present | Microprocessors |
| Fifth | 1982–present | Artificial Intelligence |
23. Correct the pairs: (First, Transistors) (Second, ICs) (Third, AI) (Fourth, Vacuum Tubes) (Fifth, Microprocessors). (Activity)
First – Vacuum tubes; Second – Transistors; Third – Integrated circuits; Fourth – Microprocessors; Fifth – Artificial Intelligence.
24. Describe the first generation of computers.
Used thousands of vacuum tubes (delicate glass devices that control and amplify electronic signals). They were the fastest calculating devices of their time but bulky, consumed a lot of electricity and generated excessive heat. Examples: ENIAC, EDVAC and UNIVAC I.
25. Describe the second generation of computers.
The transistor, invented in 1947 at Bell Labs by John Bardeen, Walter H. Brattain and William Shockley, replaced vacuum tubes. Transistors are solid-state semiconductor devices: faster, smaller, needing less power and generating less heat. Magnetic core memories made long-term storage cost-effective. Software advanced: operating systems like GMOS for IBM machines and languages like FORTRAN, COBOL and Algol appeared. Computers were used in business for payroll, employee data and inventory control. Examples: IBM 1401 and IBM 1620.
26. Describe the third generation of computers.
Characterised by integrated circuits (ICs): small silicon chips containing many transistors, capacitors and resistors. Memory capacity increased; mainframes and minicomputers were developed; operating systems with multitasking and multiprogramming (variants of IBM's OS/360) appeared. Computers became faster, more reliable and cheaper, entering education, small businesses and offices. Examples: IBM 360, IBM 370, PDP-8, PDP-11.
27. Describe the fourth generation of computers.
Defined by the microprocessor, made possible by LSI and VLSI technology (thousands of transistors on a single IC). Microprocessors were affordable and small enough for personal use; memory and speed increased. Unix and other advanced operating systems were developed; computer networks and the Internet began; personal computers (PCs) were introduced. The first microprocessor, Intel 4004 (1971), began this generation. Most computers used today belong to it.
28. Describe the fifth generation of computers.
Known as the generation of Artificial Intelligence: computers that can learn, think and make decisions, imitating cognitive functions of the human brain. It combines machine learning, Natural Language Processing (NLP), robotics, parallel processing, cloud computing and quantum computing to create intelligent, high-performance, connected systems. It is generally considered to have begun in 1982 and continues to evolve.
29. Compare vacuum tubes, transistors and ICs.
| Vacuum tube | Transistor | Integrated circuit |
|---|---|---|
| Delicate glass device | Solid-state semiconductor | Silicon chip with many components |
| Bulky, hot, high power use | Smaller, faster, low power and heat | Even smaller, faster, more reliable, cheaper |
| First generation | Second generation | Third generation |
1.1.4 Evolution of programming languages
30. What is machine language? State its limitations.
The earliest form of programming: instructions written in binary digits (0s and 1s), directly understood by the CPU. It allows fast execution but is very difficult to write, understand and debug, and it is machine dependent: a program for one computer cannot be used on another.
31. What is assembly language? What are its limitations?
It uses mnemonic codes such as ADD, SUB and MOV instead of binary numbers, making programming easier and reducing errors. It is still machine dependent, so a program cannot run on different types of computers without modification.
32. What are high level languages? Name the early ones.
Languages whose statements resemble natural English, easy to learn and machine independent. History: Short Code (1950s, John Mauchly), Autocode (early 1950s, Alick Glennie), FORTRAN (1957, team led by John Backus for IBM – the first widely used one), LISP (1958), COBOL (1959), BASIC (1964), Pascal (1970), Prolog (1972), C (1972), C++ (1983), Python (1991), JavaScript (1995), Java (1995).
33. What are programming paradigms? Classify the languages mentioned.
Paradigms are methodologies that differ in how they model a computational problem and modularise code.
| Paradigm | Languages |
|---|---|
| Imperative (procedural) | FORTRAN, COBOL, Pascal, C |
| Object-oriented | C++, Java, Python, JavaScript |
| Functional | LISP |
| Logic | Prolog |
34. Name two programming languages not mentioned in the text, one invented after 1990, with inventors and paradigms. (Activity)
Sample answer:
| Language | Inventor | Paradigms |
|---|---|---|
| Smalltalk (early 1970s) | Alan Kay and team at Xerox PARC | Object-oriented |
| Ruby (1995) | Yukihiro Matsumoto | Object-oriented, imperative, functional |
| Go (2009) | Robert Griesemer, Rob Pike and Ken Thompson at Google | Imperative, concurrent |
35. Find the paradigms supported by Scala and Rust. (Activity)
Scala (designed by Martin Odersky, 2004) supports object-oriented, functional and imperative programming. Rust (Graydon Hoare, first appeared 2010) supports imperative, functional and concurrent programming, with object-oriented-style features through structs and traits. Both are multi-paradigm languages.
1.2 How are computers used in practice?
36. What is meant by hardware and software?
Hardware is the physical equipment of a computer system. Software is the programs written for execution on a computer. A functional system needs both.
37. List the main tasks for which computers are used.
- Data storage and processing: storing massive data (e.g. the Aadhaar database across a network of computers); word processing, payroll, accounting and statistics using DBMS, word processors and spreadsheets.
- Problem solving: designing algorithms and expressing them in a language like Python; supported by compilers/interpreters and operating systems (a Python interpreter on Linux in the lab).
- Networking and communication: exchanging data across networks; the Internet enables email, video calls, social media, and entertainment such as movies, music and online games.
- Intelligent decision making: smart programs that help doctors diagnose diseases, play chess, or drive cars, using machine learning and AI.
38. What is the Internet of Things (IoT)?
IoT connects everyday devices such as home appliances, cars and wearables to the internet. These devices collect information and take smart actions, e.g. a smartwatch tracking your health or a smart bulb turning on automatically.
39. How does networking improve communication and entertainment?
Networks let computers connect and share information, files and hardware resources. The Internet allows fast communication through emails, video calls and social media, and lets people watch movies, listen to music, play online games and stream videos from anywhere.
1.3 Computers for data processing
40. What are the main activities in data processing?
- Input format design
- Data input
- Data storage
- Data processing
- Output generation and visualisation
41. What is input format design? Give examples.
Deciding in advance how data should be structured before it is collected, so that data is uniform, accurate and suitable for processing. Examples: a billing system defining the format of a customer order record; a website registration form for admissions; IoT sensor configuration (measurement units and frequency); AI cameras setting formats for images and recognition results; a game UI layout for player commands.
42. What is data input? Give examples of tools used.
Capturing data from input devices or sources; it can be manual, automated or sensor-driven. Examples: barcode scanning at a point of sale, web forms for student details, IoT sensors sending temperature or air-quality readings, AI cameras feeding video frames, controllers and VR devices capturing player movement.
43. Why is data storage important? What devices are used?
Data must be stored safely so it can be reused; proper storage ensures security, quick retrieval, backup and availability. Devices include hard disks, SSDs, cloud storage and databases. Examples: billing records for accounting, online applications in databases, IoT readings for analysis over time, AI camera images for security checks, saved game progress.
44. What is data processing? Give examples.
Transforming raw input into meaningful information using algorithms, databases and intelligent models, through validation, computation, comparison and decision making. Examples: billing – quantity × unit price for each item, summed to the total bill; web servers verifying inputs and preparing an admission list; industrial IoT detecting anomalies; AI identifying faces or objects in video; game engines doing movement calculations and animation.
45. What is output generation and visualisation?
Presenting processed results in a clear and useful form such as text, graphics, sound, alerts, dashboards or interactive visualisations. Visualisation through charts, graphs and maps helps users see patterns and trends. Examples: a printed or PDF invoice, web portal reports and confirmation messages, sensor dashboards with real-time graphs, AI camera analytics, game scores and maps.
46. Trace the data processing activities for an online admission system.
| Activity | In an admission system |
|---|---|
| Input format design | Registration form with fields for personal and academic details |
| Data input | Applicants fill in the web form |
| Data storage | Details saved in a database |
| Data processing | Server verifies inputs and prepares the admission list |
| Output | Reports, charts or confirmation messages on the web portal |
Activities
47. Find the paradigms supported by Scala and Rust.
See question 35: Scala – object-oriented, functional, imperative; Rust – imperative, functional, concurrent, with OO-style features.
48. Prepare a chart of two major world IT companies, two major IT companies founded in India and two that originated in Kerala.
Sample answer (verify the details before presenting):
| Group | Company | Brief description |
|---|---|---|
| World | Microsoft | Software company (Windows, Office, Azure cloud) |
| Google (Alphabet) | Search, Android, cloud and AI services | |
| India | Tata Consultancy Services (TCS) | IT services and consulting, founded 1968 |
| Infosys | IT services and consulting, founded 1981 in Pune | |
| Kerala | UST | Digital technology services; started in Thiruvananthapuram |
| IBS Software | Software for the travel industry; started in Thiruvananthapuram |
49. Summarise the contributions of two Turing Award winners, one before 1990 and one after 2015.
The Turing Award, given by the Association for Computing Machinery (ACM), is often called the "Nobel Prize of computing". Sample answer:
- Edsger W. Dijkstra (1972): fundamental contributions to programming languages and the art of programming, including structured programming and the shortest-path algorithm.
- Geoffrey Hinton, Yoshua Bengio and Yann LeCun (2018): conceptual and engineering breakthroughs that made deep neural networks a critical part of computing, driving advances in image recognition, speech and language.
50. Fill in the blanks / one-word answers.
- The device made of beads on rods: Abacus.
- Machine of 1642 that could add and subtract: Pascaline.
- Punched cards controlled the weaving of the Jacquard loom (1801).
- Father of Computers: Charles Babbage.
- First computer programmer: Ada Lovelace.
- Concept of storing program and data in the same memory: stored program concept (von Neumann).
- First microprocessor: Intel 4004 (1971).
- First widely used high level language: FORTRAN (1957).
- Second generation technology: transistors.